В театре n рядов по m мест в каждом. Даны две матрицы. Первая матрица содержит стоимости
билетов. Вторая матрица сообщает какие билеты проданы, а какие нет (1 означает
что билет продан, а 0 – нет).
Определите общую
выручку от спектакля.
Вход. Первая строка
содержит числа n и m (n,
m ≤ 500). Далее задается матрица
стоимостей билетов: n строк по m чисел, каждое из которых находится в
промежутке от 0 до 10000. Потом задается матрица проданных билетов: n строк по m чисел.
Выход. Выведите общую
выручку от продажи билетов.
Пример
входа |
Пример
выхода |
3 3 1 2 3 4 5 6 7 8 9 1 0 1 0 1 0 1 0 1 |
25 |
двумерный
массив
Прочитаем
матрицу стоимостей билетов в двумерный массив с. Далее читаем матрицу проданных
билетов и вычисляем сумму выручки.
Пример
Рассмотрим
приведенный пример.
Сумма проданных
билетов равна 1 + 3 + 5 + 7 + 9 = 25.
Объявим матрицу
стоимостей билетов.
#define MAX 501
int c[MAX][MAX];
Читаем размеры и саму матрицу стоимостей билетов.
scanf("%d %d",&n,&m);
for(i = 0; i < n; i++)
for(j = 0; j < m; j++)
scanf("%d",&c[i][j]);
Читаем матрицу проданных билетов. Если билет продан (элемент
матрицы равен 1) то к ответу res
прибавляем стоимость билета c[i][j].
res = 0;
for(i = 0; i < n; i++)
for(j = 0; j < m; j++)
{
scanf("%d",&s);
if (s == 1)
res += c[i][j];
}
Выводим стоимость проданных билетов.
printf("%d\n",res);
Java реализация
import
java.util.*;
//import
java.io.*;
public class Main
{
//public static void main(String[] args) throws IOException
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
//Scanner con = new Scanner(new FileReader
("4749.in"));
int i, j, n = con.nextInt(), m = con.nextInt();
int c[][] = new int[n][m];
for(i = 0; i < n; i++)
for(j = 0; j < m; j++)
c[i][j] = con.nextInt();
int res = 0;
for(i = 0; i < n; i++)
for(j = 0; j < m; j++)
{
int s = con.nextInt();
if (s == 1) res += c[i][j];
}
System.out.println(res);
con.close();
}
}